.TH std::experimental::basic_string_view::basic_string_view 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::experimental::basic_string_view::basic_string_view \- std::experimental::basic_string_view::basic_string_view

.SH Synopsis
   constexpr basic_string_view() noexcept;                \fB(1)\fP (library fundamentals TS)
   constexpr basic_string_view( const basic_string_view&  \fB(2)\fP (library fundamentals TS)
   other ) noexcept = default;
   template<class Allocator>
   basic_string_view( const std::basic_string<CharT,      \fB(3)\fP (library fundamentals TS)
   Traits, Allocator>& str ) noexcept;
   constexpr basic_string_view( const CharT* s, size_type \fB(4)\fP (library fundamentals TS)
   count );
   constexpr basic_string_view( const CharT* s );         \fB(5)\fP (library fundamentals TS)

   1) Default constructor. Constructs an empty basic_string_view.
   2) Copy constructor. Constructs a view of the same content as other.
   3) Constructs a view of the first str.size() characters of the character array
   starting with the element pointed by str.data().
   4) Constructs a view of the first count characters of the character array starting
   with the element pointed by s. s can contain null characters. The behavior is
   undefined if [s, s + count) is not a valid range (even though the constructor may
   not access any of the elements of this range).
   5) Constructs a view of the null-terminated character string pointed to by s, not
   including the terminating null character. The length of the view is determined as if
   by Traits::length(s). The behavior is undefined if [s, s + Traits::length(s)) is not
   a valid range (even though the constructor may not access any of the elements of
   this range).

.SH Parameters

   other - another view to initialize the view with
   str   - a C++ string object to initialize view with
   s     - pointer to a character array or a C string to initialize the view with
   count - number of characters to include in the view

.SH Exceptions

   4,5) Throws nothing.

.SH Complexity

   1-4) Constant.
   5) Linear in length of s.

.SH Example


// Run this code

 #include <experimental/string_view>
 #include <iostream>

 int main()
 {
     std::string cppstr = "Foo";
     char array[3] = {'B', 'a', 'r'};

     std::experimental::string_view cppstr_v(cppstr);
     std::experimental::string_view array_v(array, sizeof array);

     std::experimental::wstring_view wcstr_v = L"xyzzy";

     std::cout << cppstr_v << '\\n'
               << array_v << '\\n'
               << wcstr_v.size() << '\\n';
 }

.SH Output:

 Foo
 Bar
 5

.SH See also

   operator= assigns a view
             \fI(public member function)\fP

.SH Category:
     * Noindexed pages
